Создание заказа
Есть возможность указать оффер, полученный в запросе получения статистики по маршруту и информации о тарифных категориях.
Синтаксис запроса
POST https://b2b-api.go.yandex.ru/integration/2.0/orders/create
Заголовки запроса
Authorization: Bearer <OAuth-токен>
Процесс получения токена описан в разделе Начало работы.
X-YaTaxi-Selected-Corp-Client-Id
— ID клиента из Личного кабинета. Обязателен, если по токену доступно несколько клиентов.
X-Idempotency-Token
— токен идемпотентности, строка формата UUID. Одному токену идемпотентности соответствует один заказ, для нового заказа нужно сгенерировать новый токен. Обязательный заголовок.
Тело запроса
Данные о заказе передаются в формате JSON:
Поле |
Описание |
Формат |
Обязательность |
|
Идентификатор сотрудника. |
Строка |
Да |
|
Время, к которому нужно создать заказ. Формат значения: |
Строка |
Нет |
|
Массив объектов |
Да |
|
|
Тариф поездки. |
Строка |
Да |
|
Идентификатор оффера, полученного в запросе получения статистики по маршруту и информации о категориях обслуживания. |
Строка |
Нет |
|
Список требований к заказу. Может варьироваться в зависимости от города. Чтобы узнать поддерживаемые требования, воспользуйтесь запросом GET /zoneinfo. В ответе в массиве |
Объект |
Нет |
|
Новые поля центров затрат. |
Массив объектов |
Нет |
|
Комментарий водителю. |
Строка |
Нет |
Структура элемента массива route
:
Поле |
Описание |
Формат |
|
Массив из двух значений, задающих долготу и широту точки. |
Массив |
|
Адрес точки. |
Строка |
Структура элемента массива cost_center_values
:
Поле |
Описание |
Формат |
|
ID поля центра затрат. |
Строка |
|
Название поля центра затрат. |
Строка |
|
Новое значение для поля. |
Строка |
Описание полей ответа
Для актуального оффера в ответе содержится поле:
Поле | Описание | Формат |
---|---|---|
order_id |
Идентификатор созданного заказа. | Строка |
Для неактуального оффера в ответе содержатся поля:
Поле | Описание | Формат |
---|---|---|
code |
Код отказа. | Строка |
message |
Сообщение, объясняющее причину отказа. | Строка |
Важно
В случае ошибки с кодом 500 заказ все равно мог быть создан. Чтобы не создавать дубликат заказа, нужно сделать запрос заново с тем же X-Idempotency-Token
.
Пример запроса
POST https://b2b-api.go.yandex.ru/integration/2.0/orders/create
...
Authorization: Bearer <OAuth-token>
X-YaTaxi-Selected-Corp-Client-Id: <client-id>
X-Idempotency-Token: <токен>
{
"route": [
{
"geopoint": [
37.562394,
55.792993
],
"fullname": "Москва"
},
{
"geopoint": [
37.609479,
55.746943
],
"fullname": "Москва"
}
],
"user_id": "035...c71",
"class": "econom",
"cost_center_values": [
{
"id": "9af...12a",
"title": "Цель поездки",
"value": "по делам"
}
],
"offer": "edd...234",
"requirements": {
"conditioner": true,
"yellowcarnumber": true
}
}
Пример ответа
Пример ответа для актуального оффера:
{
"order_id": "33d...b06"
}
Пример ответа для неактуального оффера:
{
"code": "PRICE_CHANGED",
"message": "Cannot commit order. Price has been changed"
}
Возможные коды ответа
Ответ на данный запрос может содержать следующие стандартные HTTP-коды:
200
— запрос выполнен успешно.400
— в запросе был передан неизвестный параметр или параметр с недопустимым значением.403
:- SELECT_CLIENT_HEADER_REQUIRED — в запросе не передан заголовок
X-YaTaxi-Selected-Corp-Client-Id
(возвращается в случае, если для токена доступно более одного клиента). - SELECTED_CLIENT_ACCESS_DENIED — в заголовке
X-YaTaxi-Selected-Corp-Client-Id
передан ID клиента, к которому нет доступа у этого логина.
- SELECT_CLIENT_HEADER_REQUIRED — в запросе не передан заголовок
404
— сотрудник не найден.406
— для сотрудника или клиента не доступен корпоративный способ оплаты / цена изменилась.410
— уже был выполнен запрос на этот заказ (срок действия заказа истек).500
— заказ мог быть создан, необходимо повторно отправить запрос с тем же токеном.